package com.zimmur.dao.order;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zimmur.model.goods.WishListParam;
import com.zimmur.model.goods.WishListResParam;
import com.zimmur.model.order.WishList;

/**
* <p>Title: IWishListDao</p>
* <p>Description: </p>
* <p>Company: zimmur</p>
* <p>Copyright: Copyright (c) 2017</p>
* @author huangsx
* @version 1.0
* @time 2018年1月10日 下午9:01:43
*/
public interface IWishListDao {
	
	int deleteByPrimaryKey(WishList wishList);
	/**
	* <p>Title: deleteByGoodsId</p>
	* <p>Description:根据商品id和用户id删除愿望清单中商品 </p>
	* @param wishList
	* @return
	 */
	int deleteByGoodsIdWithUserId(WishList wishList);

    int insertSelective(WishList wishList);

    WishList selectByPrimaryKey(long wishId);
    /**
     * 
    * <p>Title: selectByUserId</p>
    * <p>Description:根据用户id查询愿望清单列表 </p>
    * @param userId
    * @return
     */
    List<WishList> selectByUserId(long userId);

    int updateByPrimaryKeySelective(WishList wishList);
	/**
	* <p>Title: selectByGoodsIdAndUserId</p>
	* <p>Description: 根据商品id和用户id查询愿望单</p>
	* @param wl
	* @return
	*/
	WishList selectByGoodsIdAndUserId(WishList wl);
	/**
	* <p>Title: countByParam</p>
	* <p>Description: 分页查询统计数量</p>
	* @param param
	* @return
	*/
	int countByParam(@Param("param")WishListParam param);
	/**
	* <p>Title: readByMuchParams</p>
	* <p>Description: 分页查询</p>
	* @param param
	* @return
	*/
	List<WishListResParam> readByMuchParams(@Param("param")WishListParam param);

}
